#pragma once
#ifndef __SPORTS_MODE_CFG_H__
#define __SPORTS_MODE_CFG_H__

#define SPORTS_MODE_SECONDS_PER_MINUTE (60)
#define SPORTS_MODE_MINUTE_PER_HOUR (60)
#define SPORTS_MODE_SECONDS_PER_HOUR (SPORTS_MODE_MINUTE_PER_HOUR * SPORTS_MODE_SECONDS_PER_MINUTE)

#define SPORTS_MODE_NOT_WORN_TIMEOUT_SECONDS (120)                        //!< 120S 未佩戴手环，强制结束本次运动模式
#define SPORTS_MODE_SPORTS_MAX_SECONDS (8 * SPORTS_MODE_SECONDS_PER_HOUR) //!< 运动超过6小时，强制结束本次运动模式
#define SPORTS_MODE_SPORTS_MIN_SECONDS (5)                                //!< 运动时间低于5s中，为无效运动，不进行任何存储
#define SPORTS_MODE_HR_NOT_WEART_TIME_OUT_SEC (2 * 60)                    //心率未佩戴超时时间，长时间未佩戴自动结束

#define SPORTS_MODE_CHECK //!< 增加额外的检查，发布的时候可以考虑关掉
#if defined(BOARD_G33)||defined(BOARD_G39)
#define SPORTS_MODE_HAS_GPS //!< 如果有gps，额外记录经纬度及gps速度
#endif                      //!< #if defined(BOARD_G33)

#ifdef SPORTS_MODE_HAS_GPS
// #define SPORTS_MODE_GPS_COLLECT_INTERVAL_SECONDS (1) //!< 每秒采集1次gps
// #define SPORTS_MODE_HEART_RATE_COLLECT_INTERVAL_SECONDS (SPORTS_MODE_GPS_COLLECT_INTERVAL_SECONDS) //!< 每1s采集1次gps
#define SPORTS_MODE_STORE_LITTLE_FS //!< 使用little_fs存储
#define SPORTS_MODE_DETAIL_CACHE_COUNT (80)
#define SPORTS_MODE_DETAIL_SAMPLING_COUNT (SPORTS_MODE_DETAIL_CACHE_COUNT * 12)
#define SPORTS_MODE_DETAIL_SAMPLING_IN_STORE 
#define SPORTS_MODE_GET_INFO_BY_MODE_TIME //!< 能够通过MODE,TIME 快速获取存储信息
#else //!<#ifdef SPORTS_MODE_HAS_GPS
#define SPORTS_MODE_STORE_INTERNAL  //!< 使用内部存储
#define SPORTS_MODE_DETAIL_CACHE_COUNT (68)                                      //!< 存满80个压一次
#define SPORTS_MODE_DETAIL_SAMPLING_IN_CACHE  //!< 刚开始1s采集一个，存满80个，压缩一下，开始2s采集一个，然后4s，8s
#define SPORTS_MODE_STORE_INTERVAL_SECONDS (15 * SPORTS_MODE_SECONDS_PER_MINUTE) //!< 每15分钟保存到本地
#endif                                                                           //!< #ifdef SPORTS_MODE_HAS_GPS

// #define SPORTS_MODE_START_DELAY (0) //!< 3 ,2 ,1 ,0
#define SPORTS_MODE_DURATION_START (-SPORTS_MODE_START_DELAY) //!< 3 ,2 ,1 ,0
#define SPORTS_MODE_HEART_RATE_COLLECT_INTERVAL_MIN_SECONDS (1)                  //!< 刚开始1s采集1次，
#define SPORTS_MODE_VALID_MIN_SECOND (30) //!< 运动时间低于30秒不保存，且恢复上一次的数据到内存中

#define SPORTS_MODE_MAGIC_NUM (0x1951)
#define SPORTS_MODE_RANDOM_ID_LEN (2)
#endif //!<__SPORTS_MODE_CFG_H__
